#include <my_header.h>

/* Usage: ./6_Auser */
int main(int argc, char *argv[]){                                  
    int pipe_fd = open("shared.pipe", O_WRONLY);
    ERROR_CHECK(pipe_fd, -1, "open");

    // 第一次输出到A端
    printf("Helloworld\n");
    // 第二次输出到B端i
    char *str = "Helloworld";
    int str_length = strlen(str);
    write(pipe_fd, &str_length, sizeof(int));
    write(pipe_fd, str, str_length);

    // 第三次输出到A端
    printf("Helloworld\n");
    close(pipe_fd);
    return 0;
}

#if 0
int main()
{
    int pipe_fd = open("shared.pipe", O_WRONLY);
    ERROR_CHECK(pipe_fd, -1, "open");
    
    printf("hello1\n");

    // 临时索引
    int temp = 10;
    // 将stdout指向下标为10的位置
    dup2(STDOUT_FILENO, temp);
    // 将管道作为stdout输出
    dup2(pipe_fd, temp);
    printf("hello2");

    dup2(10, STDOUT_FILENO);
    printf("hello3\n");

    close(pipe_fd)
}

#endif
